package com.ls.lserp.modules.job.service;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.ls.lserp.common.service.CrudService;
import com.ls.lserp.modules.job.dao.MaterialEntityDao;
import com.ls.lserp.modules.job.entity.MaterialEntity;

/**
 * @ClassName : DataBaseSyncService
 * @Description : ERP与平台数据同步 i_material_p
 * @author : zhigang.gao
 * @date : 2017年7月6日
 */
@Service
@Transactional(readOnly = false)
public class MaterialSyncService extends CrudService<MaterialEntityDao, MaterialEntity> {

	@Autowired
	private MaterialEntityDao materialEntityDao;

	/**
	 * @Title : findAllList
	 * @Description : 取得ERP最新数据
	 * @return
	 * @throws SQLException
	 * @return : List<MaterialEntity>
	 *
	 * @author : zhigang.gao
	 * @date : 2017年7月6日
	 */
	public List<MaterialEntity> findAllList(MaterialEntity materialEntity) throws SQLException {
		return materialEntityDao.findAllList(materialEntity);
	}
	
	/**
	 * @Title : dataSync
	 * @Description : 同步数据
	 * @param materialEntity
	 * @throws SQLException
	 * @return : void
	 *
	 * @author : zhigang.gao
	 * @date : 2017年7月6日
	 */
	public void dataSync(MaterialEntity materialEntity,List<MaterialEntity> updateMaterialList ) throws SQLException {

		// 清空旧数据 UploadFile
		//materialEntityDao.deleteAll(materialEntity);

		// 插入新数据 UploadFile
		//materialEntityDao.insertByList(materialEntity);
		if ( materialEntity.getMaterialEntityList() != null) {
			for (MaterialEntity entity : materialEntity.getMaterialEntityList()) {
				materialEntityDao.insertByEntity(entity);
				entity.setShopId(18l);// TODO 暂时统一设置成春衫平台的物料
				materialEntityDao.insertAShopMaterialR(entity);
			}
		}
		if (updateMaterialList != null) {
			for (MaterialEntity entity : updateMaterialList) {
				materialEntityDao.updateByEntity(entity);
			}
		}
		

	}

}
